package com.aliyun.dingtalk.service;

import com.dingtalk.api.response.OapiAttendanceListResponse;
import com.dingtalk.api.response.OapiV2UserGetResponse;

import java.util.List;


/**
 * 用户管理
 */
public interface DingTalkUserService {

    OapiV2UserGetResponse.UserGetResponse getUserInfo(String authCode);

    Object getAccessToken();

    Object getDeptList();

    Object getAllUsersWithDetails();

    /**
     * 根据部门ID获取用户ID列表
     *
     * @param deptId 部门ID
     * @return 用户ID列表
     */
    Object getUserListByDeptId(Long deptId);

    Object getDeptListWithUsers();

    Object getUserDetail(String userId);

    Object getAttendanceList(List<String> userIdList, String startDate, String endDate, Long offset, Long limit);

    Object getAllUsersWithDetailsFromCache();
}
